﻿using Face8280WebSocketServer.DB;
using Face8280WebSocketServer.DB.Device;
using Face8280WebSocketServer.DTO;
using System.Collections.Generic;

namespace Face8280WebSocketServer.Interface
{
    /// <summary>
    /// 设备远程操作服务
    /// </summary>
    public interface IDeviceRemoteService : IBaseService
    {

        /// <summary>
        /// 根据条件查询远程操作
        /// </summary>
        /// <param name="sn"></param>
        /// <param name="name"></param>
        /// <param name="remote"></param>
        /// <returns></returns>
        PageResult<RemoteTaskDetail_DTO> GetList(string sn,string name,string remote, BasePageParameter pagePar);

        /// <summary>
        /// 根据设备ID获取待操作的任务
        /// </summary>
        /// <returns></returns>
        List<RemoteTaskDetail> GetRemoteTaskByDeviceID(int iDeviceID);


        /// <summary>
        /// 批量新增远程操作
        /// </summary>
        /// <returns></returns>
        void Add(List<int> oDevicesIDs,string sRemote);


        /// <summary>
        /// 批量删除远程操作任务
        /// </summary>
        /// <param name="sn"></param>
        /// <returns></returns>
        void Delete(List<int> taskIDs);

        /// <summary>
        /// 更新指定设备的指定操作类型为已完成
        /// </summary>
        /// <param name="iDeviceID"></param>
        /// <param name="iTaskType"></param>
        void UpdateTaskRunStatusComplete(int iDeviceID, int iTaskType);

        /// <summary>
        /// 清空所有远程操作记录
        /// </summary>
        void ClearRemote();
    }
}
